package entity.Encomienda;

import javax.persistence.DiscriminatorValue;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

import dto.Encomienda.DTO_Trayecto;
import dto.Encomienda.DTO_TrayectoOrigenSucursal;
import entity.Administracion.Entity_Sucursal;

@Entity
@Table(name="Trayecto")
@DiscriminatorValue(value="OS")
public class Entity_TrayectoOrigenSucursal extends Entity_Trayecto{
	private String direccionOrigen;
	private String codigoPostalOrigen;
	private String localidadOrigen;
	private String provinciaOrigen;
	@ManyToOne
	@JoinColumn(name="idDestinoSucursal")
	private Entity_Sucursal destino;
	public Entity_TrayectoOrigenSucursal() {
		
	}
	public String getDireccionOrigen() {
		return direccionOrigen;
	}
	public void setDireccionOrigen(String direccionOrigen) {
		this.direccionOrigen = direccionOrigen;
	}
	public String getCodigoPostalOrigen() {
		return codigoPostalOrigen;
	}
	public void setCodigoPostalOrigen(String codigoPostalOrigen) {
		this.codigoPostalOrigen = codigoPostalOrigen;
	}
	public String getLocalidadOrigen() {
		return localidadOrigen;
	}
	public void setLocalidadOrigen(String localidadOrigen) {
		this.localidadOrigen = localidadOrigen;
	}
	public String getProvinciaOrigen() {
		return provinciaOrigen;
	}
	public void setProvinciaOrigen(String provinciaOrigen) {
		this.provinciaOrigen = provinciaOrigen;
	}
	public Entity_Sucursal getDestino() {
		return destino;
	}
	public void setDestino(Entity_Sucursal destino) {
		this.destino = destino;
	}
	
	@Override
	public DTO_Trayecto toDTO() {
		DTO_Trayecto t = new DTO_TrayectoOrigenSucursal();
		t.setId(this.getId());
		t.setDistanciaKM(this.getDistanciaKM());
		t.setTiempoDias(this.getTiempoDias());
		t.setDescripcion(this.getDescripcion());
		((DTO_TrayectoOrigenSucursal) t).setDireccionOrigen(this.getDireccionOrigen());
		((DTO_TrayectoOrigenSucursal) t).setCodigoPostalOrigen(this.getCodigoPostalOrigen());
		((DTO_TrayectoOrigenSucursal) t).setLocalidadOrigen(this.getLocalidadOrigen());
		((DTO_TrayectoOrigenSucursal) t).setProvinciaOrigen(this.getProvinciaOrigen());
		((DTO_TrayectoOrigenSucursal) t).setIdSucursalDestino(this.getDestino().getId());
		return t;
	}
	
}
